<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>悦听音乐播放器</title>
    <script src="js/axios.js"></script>
    <script src="js/vue.js"></script>
    <link rel="stylesheet" href="css/index.css"/>
    <script src="/json/main.js"></script>

</head>
<body>

<!--
    功能:
    1.歌曲搜索
        1)回车搜索(v-on,enter)
        2)查询数据(axios接口,v-model)
        3)渲染数据(v-for,数组,that)
    2.歌曲播放
    3.歌曲封面
    4.歌曲评论
    5.播放动画
    6.mv播放

 -->

<div class="wrap">
    <!-- 播放器主体区域 -->
    <div class="play_wrap" id="player">
        <div class="search_bar">
            <img src="images/player_title.png" alt="" />
            <!-- 搜索歌曲 -->
            <input type="text" autocomplete="off"
                   v-model="query"
                   @keyup.enter="searchMusic"
                   placeholder="输入搜索信息并回车"
            />
        </div>
        <div class="center_con">
            <!-- 搜索歌曲列表 -->
            <div class="song_wrapper">
                <ul class="song_list">
                    <li v-for="(item,index) in musicList">
                        <a href="javascript:;" @click="playMusic(item.id)"></a>
                        <b>{{item.name}}</b>
                        <span v-show="item.mvid!=0" @click="playMV(item.mvid)"><i></i></span>
                    </li>
                </ul>
                <img src="images/line.png" class="switch_btn" alt="">
            </div>
            <!-- 歌曲信息容器 -->
            <!-- class="player_con" class="playing" -->
            <div class="player_con" :class="{playing:playCartoon}">
                <img src="images/player_bar.png" class="play_bar" />
                <!-- 黑胶碟片 -->
                <img src="images/disc.png" class="disc autoRotate" />
                <img :src="coverurl" class="cover autoRotate" />
            </div>
            <!-- 评论容器 -->
            <div class="comment_wrapper">
                <h5 class="title">热门留言</h5>
                <div class="comment_list">
                    <dl v-for="(item,index) in remarkList">
                        <dt><img :src="item.user.avatarUrl" alt=""></dt>
                        <dd class="name" v-text="item.user.nickname"></dd>
                        <dd class="detail">
                            {{item.content}}
                        </dd>
                    </dl>
                </div>
                <img src="images/line.png" class="right_line">
            </div>
        </div>
        <div class="audio_con">
            <audio ref="audio" @play="play" @pause="pause"  :src="songurl" controls autoplay loop class="myaudio"></audio>
        </div>
        <div class="video_con"  v-if="isPlayMV"  >
            <video :src="mvurl"  controls="controls"></video>
            <div class="mask" @click="closeMV"></div>
        </div>
    </div>
</div>


<!-- 总结
    1.歌曲搜索:
        1)服务器放回的数据比较复杂是,获取的时候要注意层级结构
        2)通过审查元素快速定位到需要操纵的元素
    2.歌曲播放:歌曲id以依赖歌曲搜索的结果,对于不用的数据也需要关注
    3.歌曲封面:通过v-bind操纵属性  这里特指src属性
               对于本地无法获取的属性,通常都会有对应接口获取
    4.歌曲评论:使用v-for 做循环,此处使用的是dl作为搭载,不同于ul中放在li
               此处放在dl中做循环
    5.播放动画:
        1)监听音乐播放:v-on:play  (直接在audio标签中添加@play/@pause事件)
        2)监听音乐暂停:v-on:pause
        3)操纵类名:v-bind:class=""   也可以使三元运算符
            v-bind:class="playCartoon?'player_con playing':'player_con'"
        4)audio标签的play事件和pause事件可以直接在audio标签中添加
        5)通过对象的方式去设置类名,类名生效与否,取决于后面值的真假
            class="player_con" :class="{playing:playCartoon}"

    6.播放MV:
        1)v-if:可以直接移除组件,而v-show,会隐藏但继续播放,所以推荐使用v-if
        2)还需要加深对html相关组件的使用,过于不熟悉

    综合应用总结:
    1.不同的接口需要的数据是不同的,文档的阅读需仔细
    2.页面结构复杂之后,通过审查元素的方式快速定位相关元素
    3.响应式的数据,一定要在data中定义

 -->

</body>
</html>
